package com.zzxz.practicaltrainingsys.service;

import com.github.pagehelper.PageInfo;
import com.zzxz.practicaltrainingsys.entity.Homeworkpublish;

import java.util.List;
import java.util.Map;

public interface HomeworkpublishService {

    List<Homeworkpublish> getHomeworkpublishById(Integer id);
    Homeworkpublish getDetailHomeworkpublishById(Integer id);
    int insertHomeworkpublish(Homeworkpublish homeworkpublish);
    int deleteHomeworkpublishById(Integer id);

    public List<String> getHomeworkpublishTypes();
    public List<String> getHomeworkpublishCategory();
    public List<String> getHomeworkpublishName();
    List<Map<String, Object>> getAllHomeworkpublish();
    PageInfo<Map<String, Object>> findHomeworkpublishPages(Integer pageNum, Integer  pageSize);
    public List<Homeworkpublish> getHomeworkpublishInfo();



    // 获取所有作业列表
    List<Map<String, Object>> getHomeworkList();

    // 获取作业完成情况详情
    List<Map<String, Object>> getHomeworkDetail(Integer homeworkId);

    // 获取小组成员详情 - 添加homeworkId参数
    List<Map<String, Object>> getTeamMembers(Integer teamId, Integer homeworkId);
    // 获取学生参与项目的作业信息(分页)
    PageInfo<Map<String, Object>> getStudentHomeworks(Integer studentId, Integer pageNum, Integer pageSize);

    // 获取学生参与项目的所有作业信息
    List<Map<String, Object>> getAllStudentHomeworks(Integer studentId);

    // 更新作业发布信息
    int updateHomeworkpublish(Homeworkpublish homeworkpublish);

    // 获取小组作业完成情况
    List<Map<String, Object>> getGroupCompletion(Integer homeworkId, Integer projectId);

    // 获取个人作业完成情况
    List<Map<String, Object>> getIndividualCompletion(Integer homeworkId, Integer projectId);

    List<Map<String, Object>> getHomeworkByTeacherAndProject(Integer teacherId, Integer projectId);
}
